#ifndef __APP_MAIN_H__
#define __APP_MAIN_H__
#include <iostream>
#include <memory>
#include "config.h"
#include "zlog_app.h"
#include <thread>
#include <atomic>
#include <vector>
#include "tcp_server.h"
#include <csignal>
#include "linenoise_app.h"
#include "dev_data.h"
#include "up_treaty.h"
#include "ThreadSafeQueue.h"
#include "config.h"
std::shared_ptr<app_config> get_app_config_ptr();
std::shared_ptr<dev_data> get_dev_data_ptr();
std::shared_ptr<up_treaty> get_up_treaty_ptr();
std::shared_ptr<SingleClientTcpServer> get_tcp_server_ptr();
std::shared_ptr<ThreadSafeQueue<EVENT>> get_send_down_queue_ptr();
std::shared_ptr<struct dev_flags> get_app_status_flag_ptr();
std::shared_ptr<ThreadSafeQueue<EVENT>> get_send_up_queue_ptr();
std::shared_ptr<ThreadSafeQueue<EVENT>> get_send_modbusrtu_queue_ptr();
#endif